package com.indusfo.spc.mapper;

import com.indusfo.spc.pojo.Datadict;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DatadictMapper {

	/**
	 * 查询数据字典
	 *
	 * @param dictId
	 * @return
	 */
	List<Datadict> queryDict(Integer dictId);

	/**
	 * 	根据值域名称查询数据字典
	 * @param datadict
	 * @return
	 */
	List<Datadict> listDictByVcItemName(Datadict datadict);

	String dictByIdAndItem(@Param("dictId") Integer dictId, @Param("itemId") Integer itemId);



	/**
	 * 查询数据字典 左部去重
	 * @param datadict
	 * @return
	 */
	List<Datadict> queryDictLeft(Datadict datadict);

	/**
	 * 查询数据字典 右部
	 * @param datadict
	 */
	List<Datadict> queryDictRight(Datadict datadict);

	/**
	 * 新增数据字典 左部
	 * @param datadict
	 */
//	int insertDictLeft(Datadict datadict);
//
//    /**
//     * 新增数据字典 右部
//     * @param Datadict
//     */
	int insertDictRight(Datadict datadict);


	// 值域代码查重
	Integer selecDatadictRight(Datadict datadict);

	// 字典编号查重
	Integer selecDatadictLeft(Datadict datadict);

	// 修改 左
	int updateDictLeft(Datadict datadict);

	// 修改 右
	int updateDictRight(Datadict datadict);

	// 删除 左
	int deleteDictLeft(@Param("dictId") Integer dictId);

	// 删除 右
	int deleteDictRight(@Param("dictId") Integer dictId, @Param("itemIds") Long[] itemIds);



	// 计数  右
	int queryDictRightCount(Datadict datadict);

	// 计数  右
	int queryDictLeftCount(Datadict datadict);

	// 查询是否可以删除
	int queryDictCLvl(@Param("dictId") Integer dictId);
}
